import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Vant from 'vant'
import 'vant/lib/index.css'
import '@/assets/svg.js' // svg引入文件
import Icon from '@/components/iconfont/index.vue' // svg图标组件
import notify from '@/utils/notify.js'
import load from '@/utils/loading.js'
import VueI18n from 'vue-i18n' // 引入I18n翻译组件
import Count from '@/components/menu/count.vue' // 全局计数组件
import Cart from '@/components/menu/cart.vue' // 全局购物车组件
import _ from 'lodash'
import moment from '@/utils/moment.js' // 导入时区转换组件
import AMap from 'vue-amap'
import VueCardFormat from 'vue-credit-card-validation' // 导入信用卡验证插件

import VueTelInputVuetify from 'vue-tel-input-vuetify'
import vuetify from './plugins/vuetify'
Vue.use(VueTelInputVuetify, {
  vuetify
})
Vue.use(AMap)
AMap.initAMapApiLoader({
  key: '75fb1bf2f0c1e9243a7431cceb8c2d71',
  plugin: [
    'AMap.Autocomplete', // 输入提示插件
    'AMap.PlaceSearch', // 搜索插件
    'AMap.Geolocation', // 定位控件
    'AMap.Geocoder'
  ],
  v: '1.4.4'
})
// 高德安全密钥
window._AMapSecurityConfig = {
  securityJsCode: 'a6814c2077df889979e516eaa3b2f604'
}
Vue.use(VueCardFormat) // 挂载信用卡验证

Vue.component('Icon', Icon) // 全局SVG图标组件
Vue.component('Count', Count) // 全局计数组件
Vue.component('Cart', Cart) // 全局购物车组件
Vue.use(Vant)
Vue.use(VueI18n)
// 创建 i18n 实例对象
const i18n = new VueI18n({
  locale: 'zh-CN',
  messages: {
    'zh-CN': require('./common/lang/zh.js'), // 挂载语言包
    'en-US': require('./common/lang/en.js')
  }
})
Vue.config.productionTip = false

// 挂载全局时区转换组件
Vue.prototype.$moment = moment
// 挂载全局lodash工具库
Vue.prototype._ = _
// 挂载全局消息提示组件
Vue.prototype.$msg = notify
// 挂载全局加载动画组件
Vue.prototype.$load = load
new Vue({
  i18n,
  router,
  store,
  vuetify,
  render: h => h(App),
  beforeCreate() { // 挂载全局 bus 事件总线
    Vue.prototype.$bus = this
  }
}).$mount('#app')
